// pages/allTask/allTask.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    taskList: [],
    currentUsername: '',
    allTaskList: [], // 存储所有工单数据
    searchKeyword: '', // 搜索关键词
    showDialog: false,
    selectedTask: {}
  },
  
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.fetchTaskList();
  },
  fetchTaskList() {
    const token = wx.getStorageSync('token');
    const username = wx.getStorageSync('username');
    
    if (!token) {
      wx.showToast({ title: '请先登录', icon: 'none' });
      wx.redirectTo({ url: '/pages/login/login' });
      return;
    }
    
    if (!username) {
      wx.showToast({ title: '用户信息获取失败', icon: 'none' });
      return;
    }
    
    // 保存当前用户名到data中
    this.setData({ currentUsername: username });
    
    wx.request({
      url: 'http://121.36.43.241:8080/manage/task/list',
      method: 'GET',
      header: {
        'Authorization': token, // 这里带上token
        'Content-Type': 'application/json'
      },
      data:{
        pageNum:1,
        pageSize:100,
        userName:username
        // productTypeId:2
      },
      success: (res) => {
        if (res.statusCode === 200 && res.data && res.data.code === 200 && Array.isArray(res.data.rows)) {
          // 过滤出当前用户负责的工单
          const filteredTasks = res.data.rows.filter(task => task.userName === username);
          this.setData({ 
            taskList: filteredTasks,
            allTaskList: filteredTasks // 保存所有工单数据
          });
          
        } else {
          wx.showToast({ title: res.data.msg || '获取工单失败', icon: 'none' });
        }
      },
      fail: () => {
        wx.showToast({ title: '网络请求失败', icon: 'none' });
      }
    });
  },
  
  // 搜索功能
  onSearch() {
    wx.showModal({
      title: '搜索工单',
      placeholderText: '请输入工单编号',
      editable: true,
      success: (res) => {
        if (res.confirm && res.content) {
          this.searchTasks(res.content);
        }
      }
    });
  },

  // 执行搜索
  searchTasks(keyword) {
    const { allTaskList } = this.data;
    
    if (!keyword.trim()) {
      // 如果搜索关键词为空，显示所有工单
      this.setData({ 
        taskList: allTaskList,
        searchKeyword: ''
      });
      return;
    }

    // 使用taskCode进行模糊查询
    const searchResults = allTaskList.filter(task => 
      task.taskCode && task.taskCode.toLowerCase().includes(keyword.toLowerCase())
    );

    this.setData({ 
      taskList: searchResults,
      searchKeyword: keyword
    });

    wx.showToast({
      title: `找到 ${searchResults.length} 个工单`,
      icon: 'none'
    });
  },

  // 清除搜索
  clearSearch() {
    const { allTaskList } = this.data;
    this.setData({ 
      taskList: allTaskList,
      searchKeyword: ''
    });
    wx.showToast({
      title: '已清除搜索',
      icon: 'none'
    });
  },

  // 点击工单，弹窗显示详情
  onTaskTap(e) {
    this.setData({
      showDialog: true,
      selectedTask: e.currentTarget.dataset.item
    });
  },

  // 关闭弹窗
  onCloseDialog() {
    this.setData({
      showDialog: false,
      selectedTask: {}
    });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.fetchTaskList();
    wx.stopPullDownRefresh();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})